/**
* \brief Multimethod implementation 
*	 with 'Visitor' design pattern.
*	 Source file with auxilliary classes - Figure.
* \author Bartosz Kedra (bartosz.kedra@gmail.com)
*/
#include "Figure.hpp"
#include "Visitor.hpp"

void Circle::accept(Visitor &v)
{
	v.visit(*this);
}
double Circle::intersect(Circle& c) 
{
	return 1.0;
}
double Circle::intersect(Rectangle& r)
{
	return 2.0;
}

void Rectangle::accept(Visitor &v)
{
	v.visit(*this);
}
double Rectangle::intersect(Circle& c) 
{
	return 2.0;
}
double Rectangle::intersect(Rectangle& r)
{
	return 3.0;
}
